The invention relates to software test automation. More specifically, the invention relates to a software test automation method for multiple platforms, multiple protocols and multiple programming languages.
A test framework may need to run applications compiled, linked, and executed on a remote software system that has a different platform than the test framework itself is running on. Further such software systems may have multiple protocols, for instance, a database system may allow a client to connect to the database via multiple remote network protocols such as JDBC or ODBC, while also allowing native compiled applications to connect to the database using local protocols or software system specific protocols. These specific protocols may in turn have different implementations when native applications are compiled in different programming languages such as COBOL or C. Each of these software system protocols should be tested to ensure they each follow their respective expected behavior. However, this would require that every single test scenario has to be duplicated in multiple programming languages and protocols, which would cause excessive implementation and maintenance costs. Further, some protocols may require you to compile test scenario code on a remote system in multiple programming languages before it can be run, which inhibits test automation via multiple protocols.
A known manual solution is to manually implement applications in the language required by the protocol A up-front and locally compile these applications and execute them on the target software system. To test other protocols of the target software system, a user may need to write applications in a language different than the protocol A and execute them from a remote platform separate from the target platform. The significant drawback is that this solution requires manual steps when applications have to be tested via all generic and system specific protocols. In addition to this, a user has to implement the same test scenarios in different formats for every protocol, which can be error-prone and inefficient.